package com.erp.gather.listener;

import com.alibaba.fastjson.JSONObject;
import com.rabbitmq.client.Channel;
import com.ruoyi.ae.api.RemoteAeStoreGroupService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.gather.api.domain.dto.AeAutoProductDto;
import com.ruoyi.gather.api.domain.dto.SendProductGroupDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.io.IOException;

import static jodd.util.ThreadUtil.sleep;

/**
 * 监听路由信息
 *
 * @Author: j.zh
 * @Date: 2024/3/12
 * @Version: 1.0
 **/
@Slf4j
@Component
//@RabbitListener(queues = "auto.create.storeGroup.queue", ackMode = "MANUAL")
public class AutoCreateStoreGroupListener {
//    @Resource
//    RemoteAeStoreGroupService remoteAeStoreGroupService;
//    /**
//     * 创建店铺分组
//     *
//     * @param info
//     * @param channel
//     * @param message
//     * @throws IOException
//     */
//    @RabbitHandler
//    public void listener(String info, Channel channel, Message message) throws IOException {
//
//        try {
//            System.out.println("=============接收消息，消息队列开始执行（创建店铺分组）");
//            // 回复队列消息
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//            // 将JSON字符串转换为实体类
//            SendProductGroupDto dto = JSONObject.parseObject(info,SendProductGroupDto.class);
//            // 执行公共库至个人库操作
//            R<Object> resultOne = publish(dto);
//            if (resultOne.getCode() == 500) {
//                System.out.println("=============执行失败:" + resultOne.getMsg());
//            }
//        } catch (Exception e) {
//            // TODO 消费异常，设置入库操作
//
//            System.out.println("=============执行异常：" + e.toString());
//        }
//
//    }
//
//    /**
//     *
//     *
//     * @param dto
//     */
//    @Async("createStoreGroupMq")
//    public R<Object> publish(SendProductGroupDto dto) {
////        //添加该商品到速卖通分组中
////        R<Object> objectR = remoteAeStoreGroupService.bindingProdudtForGroup(dto);
////        System.out.println(objectR);
//        return R.ok();
//    }


}
